Pandas數據操作技巧:合併和聯接數據集
簡介
在數據分析中,經常需要將多個數據集合併或聯接在一起,以進行更全面的分析。Pandas提供了多種方法來實現數據集的合併和聯接。本教學將介紹如何在Pandas中執行這些操作。
合併數據框
使用 concat() 合併
concat() 函數可以用來簡單地合併數據框,無論是垂直堆疊還是水平合併。
垂直堆疊
import pandas as pd
data1 = {'Name': ['Alice', 'Bob'],
'Age': [25, 30]}
data2 = {'Name': ['Charlie', 'David'],
'Age': [35, 40]}
df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)
merged_df = pd.concat([df1, df2], ignore_index=True)
print(merged_df)
水平合併
merged_df = pd.concat([df1, df2], axis=1)
print(merged_df)
使用 merge() 合併
merge() 函數允許根據一個或多個共享列來合併數據框。
data1 = {'employee_id': [101, 102, 103],
'Name': ['Alice', 'Bob', 'Charlie']}
data2 = {'employee_id': [102, 103, 104],
'Salary': [50000, 60000, 55000]}
df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)
merged_df = pd.merge(df1, df2, on='employee_id')
print(merged_df)
聯接數據框
使用 join() 聯接
join() 函數可以用來聯接具有相同索引的多個數據框。
data1 = {'Name': ['Alice', 'Bob'],
'Age': [25, 30]}
data2 = {'Salary': [50000, 60000]}
df1 = pd.DataFrame(data1, index=['A', 'B'])
df2 = pd.DataFrame(data2, index=['A', 'B'])
joined_df = df1.join(df2)
print(joined_df)
使用 merge() 聯接
merge() 函數也可以用來聯接數據框,不僅僅根據列,還可以根據索引。
data1 = {'employee_id': [101, 102, 103],
'Name': ['Alice', 'Bob', 'Charlie']}
data2 = {'Salary': [50000, 60000, 55000]}
df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2, index=[101, 102, 103])
joined_df = pd.merge(df1, df2, left_on='employee_id', right_index=True)
print(joined_df)